#ifndef CSERVER_SERVER_H_
#define CSERVER_SERVER_H_
#include <memory>
namespace csrv{

	class ServerImp;
	class Server;
	class Context;
	using ServerPtr = std::shared_ptr<Server>;

	class Server{
		std::unique_ptr<ServerImp> m_imp;
		public:
		explicit Server(Context& ctx);
		~Server();

		void start();

		static ServerPtr make(Context& ctx);
	};

}

#endif //end CSERVER_SERVER_H_
